int (*p)[3];p是怎么用的?请看看下面的代码!

来源:百度知道 编辑:UC知道 时间:2024/06/15 15:20:45
int (*p)[3];中,p是什么啊?
#include <iostream.h>
void main()
{
int array[3]={1,2,3};
int (*p)[3];
// int * a;
p=array;//编译时,出错
cout < <p[0] < <endl;
}

错误信息为: '=' : cannot convert from 'int [3]' to 'int (*)[3]'

小弟不明白搞这个int (*p)[3];东西出来有什么用?小弟也没用过!恳请各位高人予与指点!

int(*p)[3]是定义一个p,他是有3个指向整型数据的指针元素组成。
他相当于是定义了三个指向一维数组的指针。他是针对2为数组使用的。如果你改成int array[3]={1,2,3};
int *p;
p=a;
或者改成array[3][3]{{1,2,3},{1,2,3},{1,2,3}};
int (*p)[3];
p=array;是可以的。